package datos;

import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

import conexion.Conexion;

public class AccionesDetalleCompra {

	public static void addDetalleCompra(DetalleCompra dc){
		int idCompra=dc.getIdCompra();
		String idProducto=dc.getProducto().getIdProducto();
		int cantidad=dc.getProducto().getCantidad();
		double subtotal=dc.getSubtotal();
		int idTipoCompra=dc.getIdTipoCompra();
		try{
			Statement stm=Conexion.conectar().createStatement();
			stm.executeUpdate("insert into detalle_compra values("+idCompra+","+idTipoCompra+",'"+idProducto+"',"+cantidad+","+subtotal+")");
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	public static ArrayList<DetalleCompra> getOne(int idCompra, int idTipoCompra){
		DetalleCompra dc=null;
		ArrayList<DetalleCompra> todas=new ArrayList<DetalleCompra>();
		
		try{
			Statement stm=Conexion.conectar().createStatement();
			ResultSet rs=stm.executeQuery("select * from detalle_compra where idCompra="+idCompra+" and idTipoCompra="+idTipoCompra);
			while(rs.next()){
				Producto p=null;
				dc=new DetalleCompra(rs.getInt("idCompra"),p=AccionesProducto.getOneById(rs.getString("idProducto")), rs.getInt("cantidad"), rs.getDouble("subtotal"));
				todas.add(dc);
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return todas;
	}
	
	public static void deleteOne(DetalleCompra dc){
		int idCompra=dc.getIdCompra();
		int idTipoCompra=dc.getIdTipoCompra();
		String idProducto=dc.getProducto().getIdProducto();
		try{
			Statement stm=Conexion.conectar().createStatement();
			stm.executeUpdate("delete from detalle_compra where idCompra="+idCompra+" and idTipoCompra="+idTipoCompra+" and idProducto='"+idProducto+"'");
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	public static void updateDetalleCompra(DetalleCompra dc){
		int idCompra=dc.getIdCompra();
		int idTipoCompra=dc.getIdTipoCompra();
		String idProducto=dc.getProducto().getIdProducto();
		int cantidad=dc.getCantidad();
		double subtotal=dc.getSubtotal();
		try{
			Statement stm=Conexion.conectar().createStatement();
			stm.executeUpdate("update detalle_compra set cantidad="+cantidad+" , subtotal="+subtotal+" where idCompra="+idCompra+" and idTipoCompra="+idTipoCompra+" and idProducto='"+idProducto+"'");
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}
